Performance, Scalability, and Semantics of Concurrent FIFO Queues

نویسندگان

  • Christoph M. Kirsch
  • Hannes Payer
  • Harald Röck
  • Ana Sokolova
چکیده

We introduce the notion of a k-FIFO queue which may dequeue elements out of FIFO order up to a constant k ≥ 0. Retrieving the oldest element from the queue may require up to k+ 1 dequeue operations (bounded fairness), which may return elements not younger than the k + 1 oldest elements in the queue (bounded age) or nothing even if there are elements in the queue. A k-FIFO queue is starvation-free for finite k where k+1 is what we call the worst-case semantical deviation (WCSD) of the queue from a regular FIFO queue. The WCSD bounds the actual semantical deviation (ASD) of a k-FIFO queue from a regular FIFO queue when applied to a given workload. Intuitively, the ASD keeps track of the number of dequeue operations necessary to return oldest elements and the age of dequeued elements. We show that a number of existing concurrent algorithms implement k-FIFO queues whose WCSD are determined by configurable constants independent from any workload. We then introduce so-called Scal queues, which implement k-FIFO queues with generally larger, workloaddependent as well as unbounded WCSD. Since ASD cannot be obtained without prohibitive overhead we have developed a tool that computes lower bounds on ASD from time-stamped runs. Our microand macrobenchmarks on a state-ofthe-art 40-core multiprocessor machine show that Scal queues, as an immediate consequence of their weaker WCSD, outperform and outscale existing implementations at the expense of moderately increased lower bounds on ASD.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Brief Announcement: Scalability versus Semantics of Concurrent FIFO Queues∗

Maintaining data structure semantics of concurrent queues such as first-in first-out (FIFO) ordering requires expensive synchronization mechanisms which limit scalability. However, deviating from the original semantics of a given data structure may allow for a higher degree of scalability and yet be tolerated by many concurrent applications. We introduce the notion of a k-FIFO queue which may b...

متن کامل

Fast and Scalable k-FIFO Queues

We introduce fast and scalable algorithms that implement boundedand unbounded-size, lock-free, linearizable k-FIFO queues with empty (and full) check. Logically, a k-FIFO queue can be understood as queue where each element may be dequeued out-of-order up to k− 1 or as pool where each element is dequeued within a k-bounded number of dequeue operations. We show experimentally that there exist opt...

متن کامل

Multicore Scalability of Concurrent Objects

We study the design, implementation, performance, and scalability of concurrent objects on multicore systems. In the first part we analyze the apparent trade-off between adherence to concurrent data structure semantics and scalability based on a concurrent FIFO queue as running example. We quantitatively relax the sequential specification of a FIFO queue to a k-FIFO queue, which can be understo...

متن کامل

Fast and Scalable, Lock-Free k-FIFO Queues

We introduce fast and scalable algorithms that implement boundedand unbounded-size lock-free k-FIFO queues on parallel, shared memory hardware. Logically, a k-FIFO queue can be understood as queue where elements may be dequeued out-of-order up to k 1, or as pool where the oldest element is dequeued within at most k dequeue operations. The presented algorithms enable up to k enqueue and k dequeu...

متن کامل

The Contention Avoiding Concurrent Priority Queue

Efficient and scalable concurrent priority queues are crucial for the performance of many multicore applications, e.g. for task scheduling and the parallelization of various algorithms. Linearizable concurrent priority queues with traditional semantics suffer from an inherent sequential bottleneck in the head of the queue. This bottleneck is the motivation for some recently proposed priority qu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012